Portable device with freefall detection or audio processing subsystem and freefall detection or audio processing method

ABSTRACT

In a class of embodiments, a method and apparatus for detecting freefall of a disk device (thereby predicting that the disk device will likely suffer imminent physical impact) and typically also preventing damage that a disk drive of the device would otherwise suffer if and when a predicted impact occurs. In some embodiments, a disk device includes a freefall detection processor and a CPU. The freefall detection processor is configured to monitor acceleration data to determine whether the disk device is in freefall and to perform at least one other operation (e.g., decoding of MP3-encoded audio data to generate decoded audio data) while the CPU performs at least one other task. Other embodiments pertain to a portable device including a digital audio processing subsystem and an accelerometer. The digital audio processing subsystem is configured to monitor acceleration data to identify any rhythm associated with motion of the portable device and to modify the playback of audio data in response to any such identified rhythm.

FIELD OF THE INVENTION

The invention pertains to portable devices (e.g., notebook computers and media players) that include at least one accelerometer and typically also at least one disk drive. In typical embodiments, the invention pertains to a portable device including at least one disk drive and an impact detection subsystem configured to detect freefall of the device (thereby predicting a physical impact to which the device will likely be subjected). Preferably also, the device is configured to protect the disk drive from damage resulting from a predicted impact.

BACKGROUND OF THE INVENTION

The expression “disk device” herein denotes a portable device including at least one disk drive. Examples of disk devices are media players, notebook computers, tablet PCs, PDAs (personal digital assistants), smart cellular phones (e.g., phones capable of playing and displaying multimedia content), and portable computing systems, each including at least one disk drive.

Disk drives of disk devices are prone to damage and data skipping when subjected to physical impacts. A typical impact scenario is an accidental drop of a disk device. An impact can corrupt data that are being or have been read from a disk drive (or data that are being or have been written to the drive) and/or can damage the disk drive itself. It would be desirable to predict physical impact to which a disk device will likely be subjected, so that each data reading head (of each disk drive of the device) can be quickly placed into a “parked” position, or so that other action can quickly be taken to protect each disk drive from physical damage if and when the impact occurs.

It has been proposed to include an accelerometer in a portable computer or other portable device (e.g., a portable media player, PDA, or MP3 digital audio player) for use in protecting the portable device (e.g., to protect a disk drive thereof by performing a disk drive head parking operation), for example, to take protective action when acceleration data from the accelerometer indicate that the device will suffer imminent impact or that the device's acceleration is within a predetermined range (e.g., a predetermined range including gravitational acceleration, g=9.8 m/sec²). For example, U.S. Reissue Pat. 35,269, to Comerford, describes a dedicated processor (installed in a portable computer) that monitors the output of an accelerometer (also installed in the computer). When the sensed acceleration is within a predetermined range near gravitational acceleration, the dedicated processor issues an interrupt to the computer's CPU to trigger a head parking operation, or itself triggers parking of the disk drive heads and optionally also braking of the motion of each disk.

Similarly, U.S. Pat. No. 6,520,013 and U.S. Pat. No. 6,768,066, to Wehrenberg, describe parking a read/write head of a data storage device (in a processing system) in response to sensing that the processing system's acceleration has reached a threshold value.

Also similarly, U.S. Pat. No. 5,835,298, issued to Edgerton, et al., describes a dedicated processor (installed in a portable computing device) that monitors the output of an accelerometer (also installed in the computing device), processes the accelerometer data (e.g., by performing numerical integration thereon) to generate data indicative of translational velocity (or the square, or other function, of the translational velocity) of the computing device, and, when the translational velocity (or the square thereof) exceeds a predetermined threshold, takes steps to protect a disk drive of the device (e.g., by initiating an operation to park the disk drive heads).

U.S. Pat. No. 6,101,062, to Jen, et al., discloses a feedback loop in which a processor (servo processor 102) controls motor speed of a disk drive in response to measured motor spin current data (indicative of motor speed of the disk drive), processes the measured data to infer whether the disk drive is undergoing hazardous acceleration, and initiates protective action (e.g., triggers parking of disk drive heads, or powers down the disk drive) in response to inferring that hazardous acceleration is occurring. However, the data processing (to infer that hazardous acceleration is occurring) requires complicated exponential averaging of the data (by generating a long decay exponential average and a short decay exponential average of the data and comparing the two averages), or the complicated steps of obtaining and storing a library of motion signatures (indicative of hazardous acceleration), comparing the measured data to the stored motion signatures, and inferring that hazardous acceleration is occurring when the measured data match a stored motion signature.

It has also been proposed to include an accelerometer in a digital camera, and use acceleration data from the accelerometer to prevent picture blurring in image data generated by the camera, or to switch between operating modes (e.g., landscape and portrait modes) when taking still pictures or shooting video.

SUMMARY OF THE INVENTION

In a class of embodiments, the invention is a method and apparatus for inferring freefall of a disk device from acceleration data (thereby predicting that the disk device will likely suffer an imminent physical impact) and typically also preventing physical damage that a disk drive of the device would otherwise suffer if and when a predicted impact occurs.

The expression “acceleration data” herein denotes data indicative of sensed acceleration. Examples of acceleration data include the output of an accelerometer, and a processed version of the output of an accelerometer (e.g., a digitized version of the analog output of an analog accelerometer). The term “accelerometer” is used herein in a broad sense to denote either an analog accelerometer (which outputs analog acceleration data), a digital accelerometer (which outputs digital acceleration data), or the combination of an analog accelerometer and a digital-to-analog converter coupled and configured to generate digital acceleration data in response to analog acceleration data output from the analog accelerometer.

In typical embodiments, the invention is a disk device including a freefall detection subsystem configured to detect freefall of the disk device. The freefall detection subsystem includes an accelerometer and a processor (to be referred to as a “freefall detection processor”) coupled and configured to monitor acceleration data (either the output of the accelerometer or a processed version the accelerometer's output) to determine whether the disk device is in freefall. Since detection of freefall in accordance with the invention is a prediction that a disk device of the device will likely be subject to imminent physical impact, the freefall detection subsystem will sometimes be referred to herein as an impact detection (or impact prediction) subsystem. Preferably the disk device is also configured to protect each disk drive thereof from damage that it would otherwise suffer if and when a predicted impact occurs. In some of the embodiments described in this paragraph, the inventive disk device includes at least two processors: a CPU and an auxiliary processor. The auxiliary processor is the freefall detection processor, and is configured to perform both freefall detection in accordance with the invention and at least one other operation (e.g., decoding of MP3-encoded audio data to generate decoded audio data, or another conventional operation) while the CPU performs at least one other task. The auxiliary processor is shared in the sense that it is configured to perform freefall detection in accordance with the invention, and is also configured to perform the conventional processing. Embodiments of the inventive disk device that include a shared freefall detection processor can make efficient use of processing hardware already present in conventional disk devices to implement freefall detection in accordance with the invention, and can be manufactured by modifying a conventional disk device (by installing an accelerometer therein) without also modifying the conventional disk device to include therein an additional processor (e.g., a second auxiliary processor) dedicated to performing freefall detection.

In some embodiments, the inventive device is a portable device including a digital audio processing subsystem (configured to decode and/or otherwise process digital audio data for playback) and an accelerometer. The digital audio processing subsystem is configured to monitor acceleration data (indicative of the instantaneous acceleration of the portable device as sensed by the accelerometer) to identify any rhythm associated with motion of the portable device (for example, the period and phase of any periodic motion of the portable device, e.g., periodic motion that may occur while a user wearing the device jogs or otherwise moves rhythmically) and to modify the playback of audio data in response to any such identified rhythm (e.g., to speed up or slow down playback of the audio data to match the rhythm of periodic motion of the device). Examples of such a portable device include notebook computers, tablet PCs, PDAs (personal digital assistants), smart cellular phones, and personal media players (e.g., personal media players configured to decode MP3 audio data for playback). Other embodiments are digital audio processing methods performed by any such portable device.

In a class of embodiments, the invention is a method for determining that a disk device is in freefall, including the steps of:

-   -   (a) determining from acceleration data indicative of         instantaneous acceleration of the disk device whether said         instantaneous acceleration is less than gravitational         acceleration during a first time interval of predetermined         duration;     -   (b) determining from the acceleration data whether said         instantaneous acceleration has a time derivative whose absolute         magnitude exceeds a predetermined minimum value (e.g., a         predetermined minimum value at least substantially equal to         zero) during a second time interval having a second         predetermined duration; and     -   (c) determining that the disk device is in freefall by         determining that said instantaneous acceleration is not less         than gravitational acceleration during the first time interval         and the absolute magnitude of the time derivative of said         instantaneous acceleration does not exceed the predetermined         minimum value during the second time interval.

Typically, the acceleration data comprise samples generated during sample periods, the first time interval is a predetermined number of the most recent consecutive sample periods, the second time interval is a second predetermined number of the most recent consecutive sample periods, and the second time interval coincides with the first time interval (or one of the second time interval and the first time interval is a subinterval of the other and the two intervals do not coincide with each other). Typically, step (b) includes the steps of generating derivative data indicative of the absolute magnitude of the time derivative of the instantaneous acceleration, and determining from the derivative data whether the absolute magnitude of the time derivative of the instantaneous acceleration exceeds the predetermined minimum value during the second time interval.

Preferably, the method also includes the step of triggering a disk drive protection operation in response to determining that the disk device is in freefall, and triggering of the disk drive protection operation occurs with sufficient lead time to allow completion of the operation during freefall of the disk device over a distance as small as about 10 cm.

Determination in step (c) that the absolute magnitude of the time derivative of the disk device's instantaneous acceleration does not exceed the predetermined minimum value during the second time interval prevents determination that the disk device is in freefall in cases in which the disk device undergoes time-varying acceleration (in contrast with freefall). The first time interval should have sufficient duration to prevent determination in step (c) that the disk device is in freefall in cases in which the disk device undergoes large acceleration (having magnitude equal to or greater than gravitational acceleration) but for such a brief time that the acceleration is unlikely to cause damage to the disk device. Each of the first time interval and the second time interval is preferably sufficiently short to allow triggering of a disk drive protection operation with sufficient lead time to allow completion of the operation (to protect each disk drive of the device from damage that it would otherwise suffer from impact) before the device suffers impact from a fall from a typical height. Preferably, the acceleration data undergo low pass filtering before step (a) is performed and before they are processed to generate the derivative data of step (b).

Other aspects of the invention are a processor (e.g., a processor implemented as an integrated circuit) programmed to implement any embodiment of the inventive method (in response to acceleration data) or a freefall detection subsystem configured to be installed in a disk device to implement any embodiment of the inventive method.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of elements of an embodiment of the inventive disk device.

FIG. 2 is a plot of velocity data (indicative of the velocity of the disk device of FIG. 1) versus time (in units of sampling periods). The velocity data are derived from acceleration data output from an acceleration sensor (an “x-axis” sensor) of accelerometer 6.

FIG. 3 is a circuit diagram of elements of an embodiment of accelerometer 6, including two-sensor accelerometer 6A and biasing and low-pass filtering circuitry.

FIG. 4 is a block diagram of elements of an embodiment of the inventive digital media player.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

With reference to FIG. 1, disk device 10 is an embodiment of the inventive disk device. Disk device 10 includes disk drive 2, processor 4, accelerometer 6, analog to digital conversion circuit 8, and PC chipset 9, connected as shown in FIG. 1. Typically, disk device 10 includes other elements but these are not shown for simplicity. PC chipset 9 is a conventional chipset that implements a CPU that runs operating system software for disk device 10 when the device 10 has been booted up into a normal operating mode.

Accelerometer 6 is mounted so as to be capable of sensing the instantaneous acceleration of disk drive 2. Typically, disk drive 2 is mounted fixedly within device 10 so that the acceleration of disk drive 2 is the same as the acceleration of the entire device 10. The description herein assumes that the accelerometer of each embodiment of the inventive disk device senses acceleration of at least one disk drive of the disk device although (for simplicity) the accelerometer may be described as being capable of sensing acceleration of the disk device.

Analog-to-digital converter 8 captures the acceleration data output (in analog form) from accelerometer 6 and converts this data into the digital domain for processing by processor 4. If accelerometer 6 is configured to output digital data indicative of sensed acceleration (rather than analog data), A-to-D converter 8 can be omitted and the output of accelerometer 6 provided directly to processor 4. Processor 4 saves the sensor data from converter 8 (or accelerometer 6, if converter 8 is omitted) into a file and processes the saved data to generate an indication as to whether disk device 10 is in freefall, or it processes the sensor data (to generate an indication as to whether disk device 10 is in freefall) without first saving the data.

Processor 4 is an auxiliary processor configured to perform at least one type of conventional processing (e.g., decoding of MP3-encoded audio data to generate decoded audio data) while the CPU of device 10 (implemented in chipset 9) performs at least one other task. Processor 4 is shared in the sense that it is configured (e.g., programmed) to process acceleration data from converter 8 (or accelerometer 6, if converter 8 is omitted) in accordance with the invention, in addition to performing such conventional processing. Thus, disk device 10 make efficient use of processing hardware that is present therein for performing conventional operations, to implement acceleration data processing in accordance with the invention, rather than employing an additional processor (e.g., an additional dedicated processor) to perform the acceleration data processing. In alternative embodiments of the invention, a dedicated processor may be employed for performing acceleration data processing in accordance with the invention.

The following description assumes a typical implementation of accelerometer 6 in which accelerometer 6 is or includes a two-sensor device (e.g., an accelerometer Model No. ADXL311, available from Analog Devices, Inc., with biasing and low-pass filtering circuitry, as shown in FIG. 3) whose sensors are configured to detect acceleration in each of two orthogonal directions. Such sensors are sometimes referred to as an “x-axis” sensor and a “y-axis” sensor.

FIG. 2 is a plot of velocity data indicative of the velocity of disk device 10 of FIG. 1, versus time. The velocity data are derived from the acceleration data output from analog-to-digital converter 8 in response to the output of one sensor (the “x-axis” sensor) of accelerometer 6. In FIG. 2, velocity is indicated in arbitrary units proportional (with an offset) to sensed velocity in the “x” direction, and is plotted as a function of time (in units of sampling periods). Since the sampling rate is 200 Hz, each sampling period has a duration of 5 milliseconds.

Preferably, processor 4 is programmed to process acceleration data indicative of instantaneous acceleration of disk device 10 (e.g., acceleration data generated by A-to-D converter 8 by sampling the output of each sensor of accelerometer 6) by:

-   -   (a) determining from the acceleration data whether the disk         device's instantaneous acceleration is at least equal to (i.e.,         is not less than) gravitational acceleration (g=9.8 m/sec²)         during a first time interval having a predetermined duration         (e.g., during a predetermined number of the most recent         consecutive sample periods);     -   (b) generating data (to be referred to as “derivative data”)         indicative of the time derivative of the acceleration data         (i.e., indicative of the instantaneous slope of the acceleration         data plotted versus time) and determining from the derivative         data whether the absolute magnitude of the time derivative of         the disk device's instantaneous acceleration exceeds a         predetermined minimum value (e.g., whether the time derivative         of the instantaneous acceleration is substantially equal to         zero) during a second time interval having a second         predetermined duration (e.g., during a second predetermined         number of the most recent consecutive sample periods), where the         second time interval coincides with the first time interval         (this is the case in typical embodiments) or one of the second         time interval and the first time interval is a subinterval of         (but does not coincide with) the other; and     -   (c) determining that the disk device is in freefall by         determining that both the following conditions exist: the disk         device's instantaneous acceleration is not less than         gravitational acceleration during the first time interval and         the absolute magnitude of the time derivative of the disk         device's instantaneous acceleration does not exceed the         predetermined minimum value during the second time interval.

Determination in step (c) that the absolute magnitude of the time derivative of the disk device's instantaneous acceleration does not exceed the predetermined minimum value during the second time interval prevents determination that the disk device is in freefall in cases in which the disk device undergoes time-varying acceleration (in contrast with freefall). For example, determination in step (c) that the absolute magnitude of the time derivative of the disk device's instantaneous acceleration does not exceed the predetermined minimum value during the second time interval prevents determination that the disk device is in freefall in typical cases in which a user subjects the disk device to time-varying acceleration while holding the disk device.

The first time interval should have sufficient duration to prevent determination in step (c) that the disk device is in freefall in cases in which the disk device undergoes large acceleration (having magnitude equal to or greater than gravitational acceleration) but for such a brief time that the acceleration is unlikely to cause damage to the disk device, and should be sufficiently short to allow the processor to trigger a disk drive protection operation with sufficient lead time to allow completion of the operation (to protect each disk drive of the device from damage that it would otherwise suffer from impact) before the device suffers impact from a fall from a typical height.

Typically, processor 4 repeatedly performs steps (a), (b), and (c) until it determines during one performance of step (c) that the disk device is in freefall, and during each repetition it updates the first and second time intervals (e.g., the first time interval is always the X most recent consecutive sample periods, and the second time interval is always the Y most recent consecutive sample periods, where X and Y are numbers and X is typically equal to Y). Typically also, processor 4 generates a disk drive protection signal (which can be a control bit) upon determining that the disk device is in freefall. Preferably, the disk device is configured to perform a disk drive protection operation in response to the disk drive protection signal, to reduce or avoid damage to each disk drive of the disk device that would otherwise result from impact following freefall. Typically, the disk drive protection operation places each head (for reading and/or writing data) of each disk drive into a “parked” position in which the head cannot impact the surface of any data storage medium. For example, in an implementation of disk device 10 of FIG. 1, disk drive 2 is configured to perform such a head parking operation in response to a disk drive protection signal generated by processor 4 and asserted to disk drive 2.

It should be understood that processor 4 preferably combines data indicative of the outputs of separate “x-axis” and “y-axis” sensors of a two-sensor implementation of accelerometer 6 (in a manner that will be apparent to those of ordinary skill in the art) to generate data indicative of acceleration in an x-y plane determined by the sensors, and then processes this data (preferably in the above-described manner) to determine whether the disk device is in freefall. In other implementations, processor 4 combines data indicative of the outputs of “x-axis,” “y-axis,” and “z-axis” sensors of a three-sensor implementation of accelerometer 6 configured to detect acceleration in each of three orthogonal directions (in a manner that will be apparent to those of ordinary skill in the art) to generate data indicative of acceleration in three-dimensional space, and then processes this data (preferably in the above-described manner) to determine whether the disk device is in freefall.

We next consider an example of the inventive method in which:

-   -   processor 4 is programmed to process the FIG. 2 data to         determine (in the manner described above) whether disk device 10         is in freefall;     -   the sampling rate is 200 Hz (so that in FIG. 2, time is         indicated in units of sampling periods of 5 millisecond         duration); and     -   in FIG. 2, velocity of the disk device is indicated in arbitrary         units that are proportional (with an offset of about 3200) to         sensed velocity (so that in FIG. 2, disk device 10 has zero         velocity at time “A”).

In this example, a goal of the inventive method is to prevent damage to disk drive 2 of disk device 10 that would otherwise result from impact at a hard surface after a freefall of about 3 feet (≈1 meter) from an initial resting place (e.g., from a desk of typical height to the floor below the desk). When an object falls to the ground from a resting place 1 meter above the ground, it reaches the ground in t_(r)=[2x/g]^(1/2)=0.4515 seconds, where x=1 meter and “g” is gravitational acceleration. At the sampling rate of 200 Hz, t_(r) is approximately equal to 90 sampling periods.

Assuming that disk drive 2 is a typical hard disk drive which requires about 100 ms (20 sampling periods) to park its head(s), the duration of the “first time interval” (in step (a) of the method) is preferably 20 ms (four sampling periods) in the example. For efficient processing, the “second predetermined duration” of the “second time interval” in step (b) of the method is also set to be 20 ms, and the second time interval is set to coincide with the first time interval. With these parameter choices, freefall detection requires four sampling periods and the inventive method can protect disk drive 2 from damage as a result of freefall over a distance as small as about 10 cm.

In the example, processor 4 determines that disk device 10 is in freefall at time “B” (indicated in FIG. 2) since it determines that the disk device's instantaneous acceleration has been equal to or greater than gravitational acceleration during the 20 ms period before time “B” and that the absolute magnitude of the time derivative of the disk device's instantaneous acceleration has not exceeded a small predetermined minimum value (i.e., that the slope of the graphed data of FIG. 2 has not changed significantly ) during the 20 ms period before time “B.”

FIG. 3 is a circuit diagram of elements of an embodiment of accelerometer 6, including two-sensor accelerometer 6A and biasing and low-pass filtering circuitry connected as shown. Accelerometer 6A is a two-sensor device (an accelerometer Model No. ADXL311, available from Analog Devices, Inc.) whose acceleration sensors 6B and 6C are configured to detect acceleration in each of two orthogonal directions. Sensor 6B is referred to herein as an “x-axis” sensor and sensor 6C is referred to herein as a “y-axis” sensor.

As shown in FIG. 3, sensor 6B is connected to ground via a 32K Ohm resistor and capacitor C_(x), and sensor 6C is connected to ground via another 32K Ohm resistor and capacitor C_(y). Biasing is provided by connecting accelerometer 6A between a first node maintained at potential Vdd (in the range 2.7V to 5.25V above ground) and coupled to ground via capacitor C_(DC), and a second node coupled to ground via a 200K Ohm resistor as shown in FIG. 3.

In a preferred implementation of FIG. 3 (for use in performing the above-described method with the “first time interval” in step (a) and the “second time interval” in step (b) each having 20 ms duration), the capacitance of each of capacitors C_(x), C_(y), and C_(DC) is 100 nF. The RC circuit comprising capacitor C_(x) and the 32K Ohm resistor connected in series therewith acts as a low-pass filter (for x-axis sensor 6B) whose cut off frequency is f=1/[2Π (32×10³) (100×10⁻⁶)]≈50 Hz. The RC circuit comprising capacitor C_(y) and the 32K Ohm resistor connected in series therewith acts as a low-pass filter (having the same cut off frequency) for y-axis sensor 6C. In view of this cut-off frequency for each low-pass filter, the sampling rate of 200 Hz is appropriate.

In general, acceleration data to be processed in accordance with the invention preferably undergo low-pass filtering before such processing (e.g., the acceleration data preferably undergo low-pass filtering before performance of step (a) of the above-described three-step embodiments of the inventive method and before they are processed to generate the derivative data of step (b) of such embodiments of the inventive method). The sampling rate (the rate at which samples of the acceleration data are generated) should be at least twice the cut-off frequency for the low-pass filtering.

In alternative embodiments, the invention is a method and apparatus for detecting excessive acceleration or deceleration (i.e., acceleration or deceleration outside the range that each disk drive of the device is designed to tolerate without damage). In preferred embodiments in this class, each disk drive of a disk device is designed to tolerate acceleration having absolute magnitude that does not exceed a maximum acceleration, and the method includes (or the apparatus is configured to perform) the step of determining from acceleration data indicative of instantaneous acceleration of the disk device whether said instantaneous acceleration has an absolute value that has increased from below a predetermined threshold value to a value greater than the predetermined threshold value, where said predetermined threshold value is less than the maximum acceleration, thereby determining that the disk device is undergoing intolerable acceleration. The predetermined threshold value is preferably chosen so that determination of intolerable acceleration occurs only when it is likely that the absolute value of the disk device's instantaneous acceleration will soon reach the maximum acceleration, and so that each such determination is made with sufficient lead time to allow completion of a disk drive protection operation (to protect each disk drive of the device from damage that it would otherwise suffer from reaching the maximum acceleration) and/or a disk caching operation before the absolute value of the device's instantaneous acceleration is likely to reach the maximum acceleration. Disk device 10 of FIG. 1 can be implemented (including by programming processor 4 appropriately) to perform the embodiments described in this paragraph if disk drive 2 is designed to tolerate acceleration having absolute magnitude that does not exceed a maximum acceleration.

In some embodiments (including the embodiment to be described with reference to FIG. 4), the inventive device is a portable device including a digital audio processing subsystem (configured to decode and/or otherwise process digital audio data for playback) and an accelerometer. The digital audio processing subsystem is configured to monitor acceleration data (either the output of the accelerometer or a processed version the accelerometer's output) to identify any rhythm associated with motion of the portable device (for example, the period and phase of any periodic motion of the portable device, e.g., periodic motion that may occur while a user wearing the device jogs or otherwise moves rhythmically) and to modify the playback of audio data in response to any such identified rhythm (e.g., to speed up or slow down playback of the audio data to match the rhythm of periodic motion of the device).

FIG. 4 is a block diagram of digital media player 20 which includes conventional PC chipset 24 (which implements a CPU which runs player 20's operating system software), graphics chipset 26, display 22, memory 25 (which can be a flash memory), accelerometer 24, analog to digital conversion circuit 27, processor 28, and audio signal amplifier 29, connected as shown. Typically, media player 20 includes other elements but these are not shown for simplicity.

Analog-to-digital converter 27 captures the acceleration sensor data output (in analog form) from accelerometer 24 and converts this data into the digital domain, for processing by processor 28. If accelerometer 24 is configured to output digital data indicative of sensed acceleration (rather than analog data), A-to-D converter 27 can be omitted and the output of accelerometer 24 provided directly to processor 28. Processor 28 saves the sensor data from converter 27 (or accelerometer 24, if converter 27 is omitted) into a file and processes the saved data as described below, or it processes the sensor data as described below without first saving the data.

Processor 28 (identified as a computation engine and audio processor in FIG. 4) is an auxiliary processor configured to perform at least one type of conventional digital audio data processing (e.g., decoding of MP3-encoded audio data that have been read from memory 25 to generate decoded audio data, and digital-to-analog conversion of the decoded audio data to produce an analog audio signal that can be amplified in amplifier 29 and output from player 20) while the CPU of player 20 (implemented in chipset 24) performs at least one other task. Processor 28 is shared in the sense that it is configured (e.g., programmed) to process acceleration data from converter 27 (or accelerometer 24, if converter 27 is omitted) in accordance with the invention, in addition to performing such conventional processing.

Elements 25, 28, and 29 of FIG. 4 comprise a digital audio processing subsystem of player 20. Processor 28 is configured to monitor acceleration data output from converter 27 to identify any rhythm associated with motion of player 20. An example of such rhythm is the period and phase of periodic motion of player 20 (e.g., periodic motion that may occur while a user wearing player 20 jogs or otherwise moves rhythmically). Processor 28 is also configured to modify the decoded audio data that it generates in response to any such identified rhythm, to perform digital-to-analog conversion on the resulting modified audio data, and to assert the resulting analog audio signal to amplifier 29. For example, one implementation of processor 28 is configured to vary the data rate at which the decoded audio data are asserted to digital-to-analog conversion circuitry (within processor 28), so that rhythm indicated by the resulting modified audio signal (that is output to amplifier 29) matches the rhythm of player 20's motion, thereby causing playback of the audio data to speed up or slow down to match the rhythm of player 20's motion. Such an implementation of processor 28 (or any of numerous variations thereon) can accommodate a listener's mood by sensing the listener's rhythm or “beat” (e.g., while the listener walks or exercises) and adjusts audio playback rates to match such rhythm.

In variations on the embodiment described with reference to FIG. 4, the elements of FIG. 4 are included within a notebook computer, tablet PC, PDA (personal digital assistant), smart cellular phone, or other portable device other than a digital media player.

It should be understood that while some embodiments of the present invention are illustrated and described herein, the invention is defined by the claims and is not to be limited to the specific embodiments described and shown. 

1. A method for determining that a disk device is in freefall, including the steps of: (a) determining from acceleration data indicative of instantaneous acceleration of the disk device whether said instantaneous acceleration is less than gravitational acceleration during a first time interval of predetermined duration; (b) determining from the acceleration data whether said instantaneous acceleration has a time derivative whose absolute magnitude exceeds a predetermined minimum value during a second time interval having a second predetermined duration; and (c) determining that the disk device is in freefall by determining that said instantaneous acceleration is not less than gravitational acceleration during the first time interval and the absolute magnitude of the time derivative of said instantaneous acceleration does not exceed the predetermined minimum value during the second time interval.
 2. The method of claim 1, wherein the predetermined minimum value of the time derivative of the instantaneous acceleration is at least substantially equal to zero.
 3. The method of claim 1, wherein the acceleration data comprise samples generated during sample periods, the first time interval is a predetermined number of the most recent consecutive sample periods, and the second time interval is a second predetermined number of the most recent consecutive sample periods.
 4. The method of claim 3, wherein the second time interval coincides with the first time interval.
 5. The method of claim 1, wherein the second time interval coincides with the first time interval.
 6. The method of claim 1, wherein one of the second time interval and the first time interval is a subinterval of but does not coincide with the other of said second time interval and said first time interval.
 7. The method of claim 1, wherein step (b) includes the steps of: generating derivative data indicative of the absolute magnitude of the time derivative of the instantaneous acceleration; and determining from the derivative data whether the absolute magnitude of the time derivative of said instantaneous acceleration exceeds the predetermined minimum value during the second time interval.
 8. The method of claim 1, also including the step of: (d) in response to determining that the disk device is in freefall, triggering a disk drive protection operation.
 9. The method of claim 8, wherein said triggering of the disk drive protection operation occurs with sufficient lead time to allow completion of the operation during freefall of the disk device over a distance as small as 10 cm.
 10. The method of claim 1, wherein the disk device includes an accelerometer, and said method also includes the steps of: operating the accelerometer to generate analog acceleration data; and sampling the analog acceleration data to generate the acceleration data.
 11. A disk device having a freefall detection subsystem configured to detect freefall of the disk device, said freefall detection subsystem including: an accelerometer; and a freefall detection processor coupled and configured to perform freefall detection by monitoring acceleration data indicative of acceleration of the disk device sensed by the accelerometer and determining in response to the acceleration data whether the disk device is in freefall, wherein the freefall detection processor is also configured to at least one other operation.
 12. The disk device of claim 11, wherein said at least one other operation is decoding of encoded audio data.
 13. The disk device of claim 11, also including a CPU coupled to the freefall detection processor.
 14. A disk device having a freefall detection subsystem configured to detect freefall of the disk device, said freefall detection subsystem including: an accelerometer; and a freefall detection processor coupled and configured to perform freefall detection by monitoring data indicative of instantaneous acceleration of the disk device as sensed by the accelerometer and determining in response to the data whether the disk device is in freefall, including by (a) determining from the data whether said instantaneous acceleration is less than gravitational acceleration during a first time interval of predetermined duration, (b) determining from the data whether said instantaneous acceleration has a time derivative whose absolute magnitude exceeds a predetermined minimum value during a second time interval having a second predetermined duration; and (c) determining that the disk device is in freefall by determining that said instantaneous acceleration is not less than gravitational acceleration during the first time interval and the absolute magnitude of the time derivative of said instantaneous acceleration does not exceed the predetermined minimum value during the second time interval.
 15. The disk device of claim 14, wherein the predetermined minimum value of the time derivative of the instantaneous acceleration is at least substantially equal to zero.
 16. The disk device of claim 14, wherein the data comprise samples generated during sample periods, the first time interval is a predetermined number of the most recent consecutive sample periods, and the second time interval is a second predetermined number of the most recent consecutive sample periods.
 17. The disk device of claim 16, wherein the second time interval coincides with the first time interval.
 18. The disk device of claim 14, wherein the second time interval coincides with the first time interval.
 19. The disk device of claim 14, wherein one of the second time interval and the first time interval is a subinterval of but does not coincide with the other of said second time interval and said first time interval.
 20. The disk device of claim 14, wherein the freefall detection processor is also configured to trigger performance by the disk device of a disk drive protection operation, in response to determining that the disk device is in freefall.
 21. The disk device of claim 20, wherein the freefall detection processor is configured to trigger performance the disk drive protection operation with sufficient lead time to allow completion of said disk drive protection operation during freefall of the disk device over a distance as small as 10 cm.
 22. The disk device of claim 14, wherein the freefall detection processor is also configured to at least one other operation.
 23. The disk device of claim 22, wherein said at least one other operation is decoding of encoded audio data.
 24. The disk device of claim 22, also including a CPU coupled to the freefall detection processor.
 25. A portable device, including: an accelerometer; and a digital audio processing subsystem, coupled and configured to process digital audio data for playback, and to monitor data indicative of instantaneous acceleration of the portable device as sensed by the accelerometer to identify a rhythm associated with motion of the portable device.
 26. The portable device of claim 25, wherein the digital audio processing subsystem is also configured to modify the playback in response to the rhythm identified by said digital audio processing subsystem.
 27. The portable device of claim 25, wherein the digital audio processing subsystem is configured to perform at least one of speed up and slow down of said playback in response to the rhythm identified by said digital audio processing subsystem.
 28. The portable device of claim 25, wherein the rhythm is a period and a phase of a periodic motion of the portable device.
 29. A method for operating a portable device that includes at least one accelerometer, said method including the steps of: (a) processing digital audio data for playback; and (b) identifying a rhythm associated with motion of the device by processing acceleration data indicative of instantaneous acceleration of the device as sensed by the accelerometer.
 30. The method of claim 29, also including the step of: modifying the playback in response to the rhythm identified in step (b).
 31. The method of claim 29, wherein step (b) includes the step of identifying a period and a phase of a periodic motion of the portable device. 